const router = require('koa-router')()
const data = require('../json/db.json')
router.prefix('/api/oss')
const OSS = require('ali-oss')
const path = require('path')

const client = new OSS({
  // yourregion填写Bucket所在地域。以华东1（杭州）为例，Region填写为oss-cn-hangzhou。
  region: 'oss-cn-beijing',
  // 阿里云账号AccessKey拥有所有API的访问权限，风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维，请登录RAM控制台创建RAM用户。
  accessKeyId: 'LTAI5tD4g2wcz8pNJpY4ZALQ',
  accessKeySecret: 'gwYopnM5kfEEmhvj4E3GRDaPj4EyEv',
  // 填写Bucket名称。
  bucket: 'devinwang0712'
})

// 将图片上传到阿里云
router.post('/upload', async (ctx, next) => {
  try {
    // 通过koa-body4解析图片，然后通过ctx.request.files就能拿到图片的信息了。
    const files = ctx.request.files
    // 图片路径
    const filePath = files.img.path
    // 图片名称
    const fileName = files.img.name
    // 上传oss
    const result = await client.put(`${Date.now()}_${fileName}`, path.normalize(filePath))
    ctx.body = {
      code: 0,
      msg: 'success',
      data: {
        url: result.url
      }
    }
  } catch (e) {
    ctx.body = {
      code: -1,
      msg: e
    }
  }
})

// koa将图片上传在本地 （需要下载koa-body插件）
router.post('/server-upload', async (ctx, next) => {
  const files = ctx.request.files
  const origin = ctx.origin
  console.log('files:', files.img)
  const filePath = path.normalize(files.img.path)
  console.log('fileName:', filePath)
  const fileName = filePath.replace(/images\//, ',').split(',')[1]
  ctx.body = {
    code: 0,
    msg: 'success',
    data: {
      url: `${origin}/images/${fileName}`
    }
  }
})

module.exports = router
